/**
*   \file   Circle.h
*   \author Dave Reid
*   \brief  Header file for the Circle class.
*/
#ifndef __EAGL_CIRCLE_H_
#define __EAGL_CIRCLE_H_

namespace eagl
{

/**
*   \brief  Class representing a Circle.
*/
class Circle
{
public:

    /**
    *   \brief  Default constructor.
    */
    Circle() : m_radius(1.0f)
    {
    }

    /**
    *   \brief  Copy constructor.
    */
    Circle(const Circle &Circle) : m_radius(Circle.getRadius())
    {
    }

    /**
    *   \brief      Constructor.
    *   \param [in] The radius of the Circle.
    */
    Circle(float radius) : m_radius(radius)
    {
    }

    /**
    *   \brief  Retrieves the radius of the Circle.
    *   \return The radius of the Circle.
    */
    float getRadius() const
    {
        return this->m_radius;
    }

    /**
    *   \brief  Sets the radius of the Circle.
    */
    void setRadius(float radius)
    {
        this->m_radius = radius;
    }

private:

    /// The radius of the Circle.
    float m_radius;

};

}

#endif  // __EAGL_CIRCLE_H_